package com.example.network;

import android.content.Context;

import com.example.utils.MD5Utils;
import com.lidroid.xutils.HttpUtils;
import com.lidroid.xutils.http.RequestParams;
import com.lidroid.xutils.http.callback.RequestCallBack;
import com.lidroid.xutils.http.client.HttpRequest.HttpMethod;
/**
 * 
 * 作者:	Rose
 * 业务名:
 * 功能说明: 用于服务器请求封装
 * 编写日期:	2014-12-4
 *
 */
public class VtionHttpClient {
	public static final String TAG = "Art";
	private static HttpUtils client;
	static {
		client = new HttpUtils(6000);
	}
	
	/**
	 * 
	 * 方法说明：get请求，无需params参数，直接通过url进行数据获取，RequestCallback 对结果进行回调
	 *
	 * @param url 请求璐姐
	 * @param callBack 结果回调
	 */
	public static void get(String url, RequestCallBack<String> callBack) {
		url = url+"&Key=bb7f56c02ce8afbe01fef4e7a4f417ce";
		client.send(HttpMethod.GET, url, callBack);
	}

	/**
	 * 
	 * 方法说明：服务器接口对接
	 *
	 * @param context 上下文对象
	 * @param url	服务器请求地址
	 * @param params	服务器请求参数POST
	 * @param callBack	服务器请求回调接口
	 */
	public static void post(Context context, String url, RequestParams params,
			RequestCallBack<String> callBack) {
		/**
		 * 加密处理地方
		 */
		params = encryption(params);
		//正式启动请求
		client.send(HttpMethod.POST, url, params, callBack);
	}
	
	/**
	 * 
	 * 方法说明：普通请求，接口未加密使用
	 *
	 * @param url
	 * @param params
	 * @param callBack
	 */
	public static void clientUpdatePost(String url, RequestParams params,
			RequestCallBack<String> callBack) {
		client.send(HttpMethod.POST, url, params, callBack);
	}
	
	/**
	 * 
	 * 方法说明：数据请求接口加密
	 *
	 * @param params 需要POST参数传入该方法进行加密处理
	 * @return 返回加密处理后的params参数
	 */
	private static RequestParams encryption(RequestParams params) {
		params.addBodyParameter("Key", MD5Utils.generatePassword("rongzuneducation"));
		return params;
	}

}
